﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Csharpzuoye
{
    //反射和特性
    //3.自定义一个特性HelpMoneyChanged（帮帮币变化）：
      //1.)该特性只能用于方法
      //2.)有一个构造函数，可以接受一个int类型的参数amount，表示帮帮币变化的数量
      //3.)有一个string类型的Message属性，记录帮帮币变化的原因
   //4.将HelpMoneyChanged应用于Publish()方法

    //[AttributeUsage(AttributeTargets.Method)]
    public class HelpMoneyChangedAttribute : Attribute
    {
        public string Message { get; set; }
        public HelpMoneyChangedAttribute(int amount)
        {
            Console.WriteLine($"帮帮币的变化数量为{amount}");
        }
    }
   
    public class HelpMoney : Entity  //帮帮币：可用（usable）、冻结（freeze)、种类（kind）、变化（change）
    {
        public int Amount { get; set; }
        public int Usable { get; set; }
        public int freeze { get; set; }
        public int kind { get; set; }
        public int change { get; set; }
        public User User { get; set; }
        //记录买卖的两条记录
        public void Buy(User buyer)
        {

        }

        public void Sale(User saler)
        {

        }

        //private int _usable;
        //private int _freeze;
        //private string _kind;//枚举
        //private int _change;

        //无参构造函数
        //public HelpMoney()
        //{

        //}

        //有参构造函数
        //public HelpMoney(int usable,int freeze,string kind,string change)
        //{
        //    _usable = usable;
        //    _freeze = freeze;
        //    _kind = kind;
        //    _change = change;
        //}
        public HelpMoney() /*: base()*/
        {

        }

    }
}
